package com.cqhilink.iot.jobstandardmanagement.facade.service.config;

import com.alibaba.fastjson.JSONObject;
import com.cqhilink.iot.jobstandardmanagement.facade.model.Config;
import com.cqhilink.iot.jobstandardmanagement.facade.model.Employee;
import com.cqhilink.iot.jobstandardmanagement.facade.model.Ztree;

import java.util.List;

public interface JsmConfigService {
    /**
     * 根据ID删除
     *
     * @param configId
     * @return
     */
    int deleteByPrimaryKey(String configId);

    /**
     * 添加
     *
     * @param record
     * @return
     */
    int insert(Config record);

    /**
     * 非空添加
     *
     * @param record
     * @return
     */
    int insertSelective(Config record);

    /**
     * 根据ID查询
     *
     * @param configId
     * @return
     */
    Config selectByPrimaryKey(String configId);

    /**
     * 非空修改
     *
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(Config record);

    /**
     * 修改
     *
     * @param record
     * @return
     */
    int updateByPrimaryKey(Config record);

    /**
     * @param record
     * @Author 卢曼成
     * @Description 根据条件查询集合
     * @CreateDateTime 2017/5/2 8:56
     **/
    List<Config> selectByParamList(Config record);

    /**
     * @param record
     * @return JSONObject
     * @throws Exception
     * @Description 分页查询
     * @Author 卢曼成
     */
    JSONObject findByPageList(Config record) throws Exception;

    /**
     * @param employee
     * @return List<Ztree>
     * @Author 卢曼成
     * @Description 获取初始化组织树形
     * @CreateDateTime 2017/5/2 8:56
     */
    List<Ztree> initOrgTree(Employee employee) throws Exception;

    /**
     * @param param
     * @return int
     * @Description 保存
     * @Author 卢曼成
     */
    int save(Config param)throws  Exception;

    /**
     * @param param
     * @return int
     * @Description 修改
     * @Author 卢曼成
     */
    int edit(Config param)throws  Exception;

    /**
     * 根据ID删除
     *
     * @param list
     * @return
     */
    int deleteByKeyList(List<String> list);

}